home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2008 February / PCWFEB08.iso / Software / Freeware / Miro 1.0 / Miro_Installer.exe / Miro_Downloader.exe / dl_daemon / bittornadoinit.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2007-11-12  |  2.1 KB  |  75 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.5)
  3.  
  4. product_name = 'BitTornado'
  5. version = 'T-0.3.7 (BitTornado)'
  6. version_short = version.split(' ')[0]
  7. report_email = version_short + '@degreez.net'
  8. from types import StringType
  9. from sha import sha
  10. from time import time, clock
  11.  
  12. try:
  13.     from os import getpid
  14. except ImportError:
  15.     
  16.     def getpid():
  17.         return 1
  18.  
  19.  
  20. mapbase64 = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz.-'
  21. __root__ = [
  22.     None]
  23.  
  24. def resetPeerIDs():
  25.     
  26.     try:
  27.         f = open('/dev/urandom', 'rb')
  28.         x = f.read(20)
  29.         f.close()
  30.     except:
  31.         x = ''
  32.  
  33.     l1 = 0
  34.     t = clock()
  35.     while t == clock():
  36.         l1 += 1
  37.     l2 = 0
  38.     t = long(time() * 100)
  39.     while t == long(time() * 100):
  40.         l2 += 1
  41.     l3 = 0
  42.     if l2 < 1000:
  43.         t = long(time() * 10)
  44.         while t == long(clock() * 10):
  45.             l3 += 1
  46.     
  47.     x += repr(time()) + '/' + str(time()) + '/' + str(l1) + '/' + str(l2) + '/' + str(l3) + '/' + str(getpid())
  48.     root = ''
  49.     for i in sha(x).digest()[-11:]:
  50.         root += mapbase64[ord(i) & 63]
  51.     
  52.     __root__[0] = root
  53.  
  54. resetPeerIDs()
  55.  
  56. def createPeerID(ins = '---'):
  57.     if not type(ins) is StringType:
  58.         raise AssertionError
  59.     if not len(ins) == 3:
  60.         raise AssertionError
  61.     myid = version_short[0]
  62.     for subver in version_short[2:].split('.'):
  63.         
  64.         try:
  65.             subver = int(subver)
  66.         except:
  67.             subver = 0
  68.  
  69.         myid += mapbase64[subver]
  70.     
  71.     myid += '-' * (6 - len(myid))
  72.     myid += ins + __root__[0]
  73.     return myid
  74.  
  75.